/******************************************************************************
 *
 * @file       bubbleframe.h
 * @brief      气泡样式基类，派生：文本、图片、文件、语音
 *
 * @author     ario
 * @date       2024/08/09
 * @history
 *****************************************************************************/

#ifndef BUBBLEFRAME_H
#define BUBBLEFRAME_H


#include "global.h"
#include <QFrame>
#include <QHBoxLayout>

class BubbleFrame : public QFrame
{
public:
    BubbleFrame(ChatRole role, QWidget *parent = nullptr);

    void setWidget(QWidget *w); // 设置气泡内容：文本、图片等

protected:
    void paintEvent(QPaintEvent *e) override;   // 绘制气泡和三角

private:
    ChatRole _role;
    QHBoxLayout *_pHLayout;
    int _margin;
};

#endif // BUBBLEFRAME_H
